\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b0\i0\ulnone\fs28\fc0\cf0 Q: I have implemented the
\f1\fs24 setScalingFactor:
\f0\fs28 method of PrintInfo in order to scale my printed output. It does not seem to be having any effect—my printed output is always 100% of original size. What could be wrong?\
\i \
\i0 A: Have you set your Window or View subclass to override
\f1\fs24 knowsPagesFirst:last:
\f0\fs28 to return YES and are you computing your own page rectangles with
\f1\fs24 getRect:forPage:
\f0\fs28 ? Then that View is claiming that it knows how to paginate itself and the
\f1\fs24 setScalingFactor:
\f0\fs28 method of PrintInfo has no effect. \
\
By not automatically scaling the printing, the AppKit allows you to decide how scaling affects pagination. Scaling by 50%, for example, should always cause the view to be 50% smaller in both directions, so what was a full-sized page now only takes up a quarter of a page. However you must decide whether each scaled page continues to be printed on a separate piece of paper or whether you group four of the scaled pages on each piece of paper.\
\
In either case, the correct way to get your scaled view to print scaled is to override the View method
\f1\fs24 addToPageSetup
\f0\fs28 and use the
\f1\fs24 PSscale()
\f0\fs28 pswrap function to set your scaling factor appropriately:\